package cn.hist.hfp.converter;

import cn.hist.hfp.entity.Pet;
import cn.hist.hfp.vo.PetVO;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

@Component
public class PetConverter {

    private SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

    public PetVO converter(Pet pet) {
        return PetVO.builder().id(pet.getId()).price(pet.getPrice()).name(pet.getName())
                .image(pet.getImage()).speciesId(pet.getSpecies().getId())
                .speciesName(pet.getSpecies().getName())
                .description(pet.getDescription())
                .speciesDescription(pet.getSpecies().getDescription())
                .birthDate(formatter.format(pet.getBirthDate())).build();
    }

    public Set<PetVO> converter(Set<Pet> petSet) {
        Set<PetVO> petVOS = new HashSet<>();
        for(Pet pet: petSet) {
            petVOS.add(converter(pet));
        }
        return petVOS;
    }

    public List<PetVO> converter(List<Pet> pets) {
        List<PetVO> petVOS = new ArrayList<>();
        for(Pet pet: pets) {
            petVOS.add(converter(pet));
        }
        return petVOS;
    }
}
